home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / util / shell / csh548src.lha / Custom_Headers / libraries / reqtools.h < prev    next >
C/C++ Source or Header  |  1994-04-17  |  20KB  |  638 lines

  1. #ifndef LIBRARIES_REQTOOLS_H
  2. #define LIBRARIES_REQTOOLS_H
  3. /*
  4. **    $Filename: libraries/reqtools.h $
  5. **    $Release: 2.2 $
  6. **    $Revision: 38.12 $
  7. **
  8. **    reqtools.library definitions
  9. **
  10. **    (C) Copyright 1991-1994 Nico Franτois
  11. **    All Rights Reserved
  12. */
  13.  
  14. #ifndef    EXEC_TYPES_H
  15. #include <exec/types.h>
  16. #endif    /* EXEC_TYPES_H */
  17.  
  18. #ifndef    EXEC_LISTS_H
  19. #include <exec/lists.h>
  20. #endif    /* EXEC_LISTS_H */
  21.  
  22. #ifndef    EXEC_LIBRARIES_H
  23. #include <exec/libraries.h>
  24. #endif    /* EXEC_LIBRARIES_H */
  25.  
  26. #ifndef    EXEC_SEMAPHORES_H
  27. #include <exec/semaphores.h>
  28. #endif    /* EXEC_SEMAPHORES_H */
  29.  
  30. #ifndef LIBRARIES_DOS_H
  31. #include <libraries/dos.h>
  32. #endif  /* LIBRARIES_DOS_H */
  33.  
  34. #ifndef LIBRARIES_DOSEXTENS_H
  35. #include <libraries/dosextens.h>
  36. #endif  /* LIBRARIES_DOSEXTENS_H */
  37.  
  38. #ifndef LIBRARIES_DISKFONT_H
  39. #include <libraries/diskfont.h>
  40. #endif  /* LIBRARIES_DISKFONT_H */
  41.  
  42. #ifndef    GRAPHICS_TEXT_H
  43. #include <graphics/text.h>
  44. #endif    /* GRAPHICS_TEXT_H */
  45.  
  46. #ifndef UTILITY_TAGITEM_H
  47. #include <utility/tagitem.h>
  48. #endif    /* UTILITY_TAGITEM_H */
  49.  
  50. #define    REQTOOLSNAME         "reqtools.library"
  51. #define    REQTOOLSVERSION         38L
  52.  
  53. /***********************
  54. *                      *
  55. *     Preferences      *
  56. *                      *
  57. ***********************/
  58.  
  59. #define RTPREF_FILEREQ         0L
  60. #define RTPREF_FONTREQ         1L
  61. #define RTPREF_PALETTEREQ     2L
  62. #define RTPREF_SCREENMODEREQ     3L
  63. #define RTPREF_VOLUMEREQ     4L
  64. #define RTPREF_OTHERREQ         5L
  65. #define RTPREF_NR_OF_REQ     6L
  66.  
  67. struct ReqDefaults {
  68.    ULONG Size;
  69.    ULONG ReqPos;
  70.    UWORD LeftOffset;
  71.    UWORD TopOffset;
  72.     UWORD MinEntries;
  73.     UWORD MaxEntries;
  74.    };
  75.  
  76. struct ReqToolsPrefs {
  77.    /* Size of preferences (_without_ this field and the semaphore) */
  78.    ULONG PrefsSize;
  79.    struct SignalSemaphore PrefsSemaphore;
  80.    /* Start of real preferences */
  81.    ULONG Flags;
  82.    struct ReqDefaults ReqDefaults[RTPREF_NR_OF_REQ];
  83.    };
  84.  
  85. #define RTPREFS_SIZE \
  86.    (sizeof (struct ReqToolsPrefs) - sizeof (struct SignalSemaphore) - 4)
  87.  
  88. /* Flags */
  89.  
  90. #define RTPRB_DIRSFIRST         0L
  91. #define RTPRF_DIRSFIRST         (1L<<RTPRB_DIRSFIRST)
  92. #define RTPRB_DIRSMIXED         1L
  93. #define RTPRF_DIRSMIXED         (1L<<RTPRB_DIRSMIXED)
  94. #define RTPRB_IMMSORT         2L
  95. #define RTPRF_IMMSORT         (1L<<RTPRB_IMMSORT)
  96. #define RTPRB_NOSCRTOFRONT     3L
  97. #define RTPRF_NOSCRTOFRONT     (1L<<RTPRB_NOSCRTOFRONT)
  98. #define RTPRB_NOLED         4L
  99. #define RTPRF_NOLED         (1L<<RTPRB_NOLED)
  100. #define RTPRB_DEFAULTFONT     5L
  101. #define RTPRF_DEFAULTFONT     (1L<<RTPRB_DEFAULTFONT)
  102.  
  103. /***********************
  104. *                      *
  105. *     Library Base     *
  106. *                      *
  107. ***********************/
  108.  
  109. struct ReqToolsBase {
  110.    struct Library LibNode;
  111.    UBYTE RTFlags;
  112.    UBYTE pad[3];
  113.    BPTR SegList;
  114.  
  115.    /* PUBLIC FIELDS */
  116.  
  117.    /* NOTE: Some versions of the Manx C compiler contain a bug so it gets
  118.             confused by the library bases below.  Add the rt_ prefix to the
  119.             library names to fix the problem (e.g. rt_IntuitionBase). */
  120.  
  121.    /* The following library bases may be read and used by your program */
  122.    struct IntuitionBase *IntuitionBase;
  123.    struct GfxBase *GfxBase;
  124.    struct DosLibrary *DOSBase;
  125.    /* Next two library bases are only (and always) valid on Kickstart 2.0!
  126.       (1.3 version of reqtools also initializes these when run on 2.0) */
  127.    struct Library *GadToolsBase;
  128.    struct Library *UtilityBase;
  129.  
  130.    /* PRIVATE FIELDS, THESE WILL CHANGE FROM RELEASE TO RELEASE! */
  131.  
  132.    /* The RealOpenCnt is for the buffered AvailFonts feature.  Since
  133.       Kickstart 3.0 offers low memory handlers a release of ReqTools for 3.0
  134.       will not use this field and start using the normal OpenCnt again. */
  135.    UWORD RealOpenCnt;
  136.    UWORD AvailFontsLock;
  137.    struct AvailFontsHeader *AvailFontsHeader;
  138.    ULONG FontsAssignType;
  139.    BPTR FontsAssignLock;
  140.    struct AssignList *FontsAssignList;
  141.    struct ReqToolsPrefs ReqToolsPrefs;
  142.    UWORD prefspad;
  143.    };
  144.  
  145. /* types of requesters, for rtAllocRequestA() */
  146. #define RT_FILEREQ         0L
  147. #define RT_REQINFO         1L
  148. #define RT_FONTREQ         2L
  149. /* (V38) */
  150. #define RT_SCREENMODEREQ     3L
  151.  
  152. /***********************
  153. *                      *
  154. *    File requester    *
  155. *                      *
  156. ***********************/
  157.  
  158. /* structure _MUST_ be allocated with rtAllocRequest() */
  159.  
  160. struct rtFileRequester {
  161.    ULONG ReqPos;
  162.    UWORD LeftOffset;
  163.    UWORD TopOffset;
  164.    ULONG Flags;
  165.    /* OBSOLETE IN V38! DON'T USE! */ struct Hook *Hook;
  166.    /* */
  167.    char  *Dir;             /* READ ONLY! Change with rtChangeReqAttrA()! */
  168.    char  *MatchPat;         /* READ ONLY! Change with rtChangeReqAttrA()! */
  169.    /* */
  170.    struct TextFont *DefaultFont;
  171.    ULONG WaitPointer;
  172.    /* (V38) */
  173.    ULONG LockWindow;
  174.    ULONG ShareIDCMP;
  175.    struct Hook *IntuiMsgFunc;
  176.    UWORD reserved1;
  177.    UWORD reserved2;
  178.    UWORD reserved3;
  179.    UWORD ReqHeight;         /* READ ONLY!  Use RTFI_Height tag! */
  180.    /* Private data follows! HANDS OFF :-) */
  181.    };
  182.  
  183. /* returned by rtFileRequestA() if multiselect is enabled,
  184.    free list with rtFreeFileList() */
  185.  
  186. struct rtFileList {
  187.    struct rtFileList *Next;
  188.    ULONG StrLen;         /* -1 for directories */
  189.    char *Name;
  190.    };
  191.  
  192. /* structure passed to RTFI_FilterFunc callback hook by
  193.    volume requester (see RTFI_VolumeRequest tag) */
  194.  
  195. struct rtVolumeEntry {
  196.    ULONG Type;             /* DLT_DEVICE or DLT_DIRECTORY */
  197.    char *Name;
  198.    };
  199.  
  200. /***********************
  201. *                      *
  202. *    Font requester    *
  203. *                      *
  204. ***********************/
  205.  
  206. /* structure _MUST_ be allocated with rtAllocRequest() */
  207.  
  208. struct rtFontRequester {
  209.    ULONG ReqPos;
  210.    UWORD LeftOffset;
  211.    UWORD TopOffset;
  212.    ULONG Flags;
  213.    /* OBSOLETE IN V38! DON'T USE! */ struct Hook *Hook;
  214.    /* */
  215.    struct TextAttr Attr;     /* READ ONLY! */
  216.    /* */
  217.    struct TextFont *DefaultFont;
  218.    ULONG WaitPointer;
  219.    /* (V38) */
  220.    ULONG LockWindow;
  221.    ULONG ShareIDCMP;
  222.    struct Hook *IntuiMsgFunc;
  223.    UWORD reserved1;
  224.    UWORD reserved2;
  225.    UWORD reserved3;
  226.    UWORD ReqHeight;         /* READ ONLY!  Use RTFO_Height tag! */
  227.    /* Private data follows! HANDS OFF :-) */
  228.    };
  229.  
  230. /*************************
  231. *                        *
  232. *  ScreenMode requester  *
  233. *                        *
  234. *************************/
  235.  
  236. /* structure _MUST_ be allocated with rtAllocRequest() */
  237.  
  238. struct rtScreenModeRequester {
  239.    ULONG ReqPos;
  240.    UWORD LeftOffset;
  241.    UWORD TopOffset;
  242.    ULONG Flags;
  243.    ULONG private1;
  244.    /* */
  245.    ULONG DisplayID;         /* READ ONLY! */
  246.    UWORD DisplayWidth;         /* READ ONLY! */
  247.    UWORD DisplayHeight;         /* READ ONLY! */
  248.    /* */
  249.    struct TextFont *DefaultFont;
  250.    ULONG WaitPointer;
  251.    ULONG LockWindow;
  252.    ULONG ShareIDCMP;
  253.    struct Hook *IntuiMsgFunc;
  254.    UWORD reserved1;
  255.    UWORD reserved2;
  256.    UWORD reserved3;
  257.    UWORD ReqHeight;         /* READ ONLY!  Use RTSC_Height tag! */
  258.    /* */
  259.    UWORD DisplayDepth;         /* READ ONLY! */
  260.    UWORD OverscanType;         /* READ ONLY! */
  261.    ULONG AutoScroll;         /* READ ONLY! */
  262.    /* Private data follows! HANDS OFF :-) */
  263.    };
  264.  
  265. /***********************
  266. *                      *
  267. *    Requester Info    *
  268. *                      *
  269. ***********************/
  270.  
  271. /* for rtEZRequestA(), rtGetLongA(), rtGetStringA() and rtPaletteRequestA(),
  272.    _MUST_ be allocated with rtAllocRequest() */
  273.  
  274. struct rtReqInfo {
  275.    ULONG ReqPos;
  276.    UWORD LeftOffset;
  277.    UWORD TopOffset;
  278.    ULONG Width;             /* not for rtEZRequestA() */
  279.    char *ReqTitle;         /* currently only for rtEZRequestA() */
  280.    ULONG Flags;
  281.    struct TextFont *DefaultFont; /* currently only for rtPaletteRequestA() */
  282.    ULONG WaitPointer;
  283.    /* (V38) */
  284.    ULONG LockWindow;
  285.    ULONG ShareIDCMP;
  286.    struct Hook *IntuiMsgFunc;
  287.    /* structure may be extended in future */
  288.    };
  289.  
  290. /***********************
  291. *                      *
  292. *     Handler Info     *
  293. *                      *
  294. ***********************/
  295.  
  296. /* for rtReqHandlerA(), will be allocated for you when you use
  297.    the RT_ReqHandler tag, never try to allocate this yourself! */
  298.  
  299. struct rtHandlerInfo {
  300.    ULONG private1;
  301.    ULONG WaitMask;
  302.    ULONG DoNotWait;
  303.    /* Private data follows, HANDS OFF :-) */
  304.    };
  305.  
  306. /* possible return codes from rtReqHandlerA() */
  307.  
  308. #define CALL_HANDLER         (ULONG)0x80000000
  309.  
  310.  
  311. /*************************************
  312. *                                    *
  313. *                TAGS                *
  314. *                                    *
  315. *************************************/
  316.  
  317. #define RT_TagBase         TAG_USER
  318.  
  319. /*** tags understood by most requester functions ***
  320. */
  321. /* optional pointer to window */
  322. #define RT_Window         (RT_TagBase+1)
  323. /* idcmp flags requester should abort on (useful for IDCMP_DISKINSERTED) */
  324. #define RT_IDCMPFlags         (RT_TagBase+2)
  325. /* position of requester window (see below) - default REQPOS_POINTER */
  326. #define RT_ReqPos         (RT_TagBase+3)
  327. /* leftedge offset of requester relative to position specified by RT_ReqPos */
  328. #define RT_LeftOffset         (RT_TagBase+4)
  329. /* topedge offset of requester relative to position specified by RT_ReqPos */
  330. #define RT_TopOffset         (RT_TagBase+5)
  331. /* name of public screen to put requester on (Kickstart 2.0 only!) */
  332. #define RT_PubScrName         (RT_TagBase+6)
  333. /* address of screen to put requester on */
  334. #define RT_Screen         (RT_TagBase+7)
  335. /* tagdata must hold the address of (!) an APTR variable */
  336. #define RT_ReqHandler         (RT_TagBase+8)
  337. /* font to use when screen font is rejected, _MUST_ be fixed-width font!
  338.    (struct TextFont *, not struct TextAttr *!)
  339.    - default GfxBase->DefaultFont */
  340. #define RT_DefaultFont         (RT_TagBase+9)
  341. /* boolean to set the standard wait pointer in window - default FALSE */
  342. #define RT_WaitPointer         (RT_TagBase+10)
  343. /* (V38) char preceding keyboard shortcut characters (will be underlined) */
  344. #define RT_Underscore         (RT_TagBase+11)
  345. /* (V38) share IDCMP port with window - default FALSE */
  346. #define RT_ShareIDCMP         (RT_TagBase+12)
  347. /* (V38) lock window and set standard wait pointer - default FALSE */
  348. #define RT_LockWindow         (RT_TagBase+13)
  349. /* (V38) boolean to make requester's screen pop to front - default TRUE */
  350. #define RT_ScreenToFront     (RT_TagBase+14)
  351. /* (V38) Requester should use this font - default: screen font */
  352. #define RT_TextAttr         (RT_TagBase+15)
  353. /* (V38) call this hook for every IDCMP message not for requester */
  354. #define RT_IntuiMsgFunc         (RT_TagBase+16)
  355. /* (V38) Locale ReqTools should use for text */
  356. #define RT_Locale         (RT_TagBase+17)
  357.  
  358. /*** tags specific to rtEZRequestA ***
  359. */
  360. /* title of requester window - english default "Request" or "Information" */
  361. #define RTEZ_ReqTitle         (RT_TagBase+20)
  362. /* (RT_TagBase+21) reserved */
  363. /* various flags (see below) */
  364. #define RTEZ_Flags         (RT_TagBase+22)
  365. /* default response (activated by pressing RETURN) - default TRUE */
  366. #define RTEZ_DefaultResponse     (RT_TagBase+23)
  367.  
  368. /*** tags specific to rtGetLongA ***
  369. */
  370. /* minimum allowed value - default MININT */
  371. #define RTGL_Min         (RT_TagBase+30)
  372. /* maximum allowed value - default MAXINT */
  373. #define RTGL_Max         (RT_TagBase+31)
  374. /* suggested width of requester window (in pixels) */
  375. #define RTGL_Width         (RT_TagBase+32)
  376. /* boolean to show the default value - default TRUE */
  377. #define RTGL_ShowDefault     (RT_TagBase+33)
  378. /* (V38) string with possible responses - english default " _Ok |_Cancel" */
  379. #define RTGL_GadFmt          (RT_TagBase+34)
  380. /* (V38) optional arguments for RTGL_GadFmt */
  381. #define RTGL_GadFmtArgs         (RT_TagBase+35)
  382. /* (V38) invisible typing - default FALSE */
  383. #define RTGL_Invisible         (RT_TagBase+36)
  384. /* (V38) window backfill - default TRUE */
  385. #define RTGL_BackFill         (RT_TagBase+37)
  386. /* (V38) optional text above gadget */
  387. #define RTGL_TextFmt         (RT_TagBase+38)
  388. /* (V38) optional arguments for RTGS_TextFmt */
  389. #define RTGL_TextFmtArgs     (RT_TagBase+39)
  390. /* (V38) various flags (see below) */
  391. #define RTGL_Flags         RTEZ_Flags
  392.  
  393. /*** tags specific to rtGetStringA ***
  394. */
  395. /* suggested width of requester window (in pixels) */
  396. #define RTGS_Width         RTGL_Width
  397. /* allow empty string to be accepted - default FALSE */
  398. #define RTGS_AllowEmpty         (RT_TagBase+80)
  399. /* (V38) string with possible responses - english default " _Ok |_Cancel" */
  400. #define RTGS_GadFmt          RTGL_GadFmt
  401. /* (V38) optional arguments for RTGS_GadFmt */
  402. #define RTGS_GadFmtArgs         RTGL_GadFmtArgs
  403. /* (V38) invisible typing - default FALSE */
  404. #define RTGS_Invisible         RTGL_Invisible
  405. /* (V38) window backfill - default TRUE */
  406. #define RTGS_BackFill         RTGL_BackFill
  407. /* (V38) optional text above gadget */
  408. #define RTGS_TextFmt         RTGL_TextFmt
  409. /* (V38) optional arguments for RTGS_TextFmt */
  410. #define RTGS_TextFmtArgs     RTGL_TextFmtArgs
  411. /* (V38) various flags (see below) */
  412. #define RTGS_Flags         RTEZ_Flags
  413.  
  414. /*** tags specific to rtFileRequestA ***
  415. */
  416. /* various flags (see below) */
  417. #define RTFI_Flags         (RT_TagBase+40)
  418. /* suggested height of file requester */
  419. #define RTFI_Height         (RT_TagBase+41)
  420. /* replacement text for 'Ok' gadget (max 6 chars) */
  421. #define RTFI_OkText         (RT_TagBase+42)
  422. /* (V38) bring up volume requester, tag data holds flags (see below) */
  423. #define RTFI_VolumeRequest     (RT_TagBase+43)
  424. /* (V38) call this hook for every file in the directory */
  425. #define RTFI_FilterFunc         (RT_TagBase+44)
  426. /* (V38) allow empty file to be accepted - default FALSE */
  427. #define RTFI_AllowEmpty         (RT_TagBase+45)
  428.  
  429. /*** tags specific to rtFontRequestA ***
  430. */
  431. /* various flags (see below) */
  432. #define RTFO_Flags         RTFI_Flags
  433. /* suggested height of font requester */
  434. #define RTFO_Height         RTFI_Height
  435. /* replacement text for 'Ok' gadget (max 6 chars) */
  436. #define RTFO_OkText         RTFI_OkText
  437. /* suggested height of font sample display - default 24 */
  438. #define RTFO_SampleHeight     (RT_TagBase+60)
  439. /* minimum height of font displayed */
  440. #define RTFO_MinHeight         (RT_TagBase+61)
  441. /* maximum height of font displayed */
  442. #define RTFO_MaxHeight         (RT_TagBase+62)
  443. /* [(RT_TagBase+63) to (RT_TagBase+66) used below] */
  444. /* (V38) call this hook for every font */
  445. #define RTFO_FilterFunc         RTFI_FilterFunc
  446.  
  447. /*** (V38) tags for rtScreenModeRequestA ***
  448. */
  449. /* various flags (see below) */
  450. #define RTSC_Flags         RTFI_Flags
  451. /* suggested height of screenmode requester */
  452. #define RTSC_Height         RTFI_Height
  453. /* replacement text for 'Ok' gadget (max 6 chars) */
  454. #define RTSC_OkText         RTFI_OkText
  455. /* property flags (see also RTSC_PropertyMask) */
  456. #define RTSC_PropertyFlags     (RT_TagBase+90)
  457. /* property mask - default all bits in RTSC_PropertyFlags considered */
  458. #define RTSC_PropertyMask     (RT_TagBase+91)
  459. /* minimum display width allowed */
  460. #define RTSC_MinWidth         (RT_TagBase+92)
  461. /* maximum display width allowed */
  462. #define RTSC_MaxWidth         (RT_TagBase+93)
  463. /* minimum display height allowed */
  464. #define RTSC_MinHeight         (RT_TagBase+94)
  465. /* maximum display height allowed */
  466. #define RTSC_MaxHeight         (RT_TagBase+95)
  467. /* minimum display depth allowed */
  468. #define RTSC_MinDepth         (RT_TagBase+96)
  469. /* maximum display depth allowed */
  470. #define RTSC_MaxDepth         (RT_TagBase+97)
  471. /* call this hook for every display mode id */
  472. #define RTSC_FilterFunc         RTFI_FilterFunc
  473.  
  474. /*** tags for rtChangeReqAttrA ***
  475. */
  476. /* file requester - set directory */
  477. #define RTFI_Dir         (RT_TagBase+50)
  478. /* file requester - set wildcard pattern */
  479. #define RTFI_MatchPat         (RT_TagBase+51)
  480. /* file requester - add a file or directory to the buffer */
  481. #define RTFI_AddEntry         (RT_TagBase+52)
  482. /* file requester - remove a file or directory from the buffer */
  483. #define RTFI_RemoveEntry     (RT_TagBase+53)
  484. /* font requester - set font name of selected font */
  485. #define RTFO_FontName         (RT_TagBase+63)
  486. /* font requester - set font size */
  487. #define RTFO_FontHeight         (RT_TagBase+64)
  488. /* font requester - set font style */
  489. #define RTFO_FontStyle         (RT_TagBase+65)
  490. /* font requester - set font flags */
  491. #define RTFO_FontFlags         (RT_TagBase+66)
  492. /* (V38) screenmode requester - get display attributes from screen */
  493. #define RTSC_ModeFromScreen     (RT_TagBase+80)
  494. /* (V38) screenmode requester - set display mode id (32-bit extended) */
  495. #define RTSC_DisplayID         (RT_TagBase+81)
  496. /* (V38) screenmode requester - set display width */
  497. #define RTSC_DisplayWidth     (RT_TagBase+82)
  498. /* (V38) screenmode requester - set display height */
  499. #define RTSC_DisplayHeight     (RT_TagBase+83)
  500. /* (V38) screenmode requester - set display depth */
  501. #define RTSC_DisplayDepth     (RT_TagBase+84)
  502. /* (V38) screenmode requester - set overscan type, 0 for regular size */
  503. #define RTSC_OverscanType     (RT_TagBase+85)
  504. /* (V38) screenmode requester - set autoscroll */
  505. #define RTSC_AutoScroll         (RT_TagBase+86)
  506.  
  507. /*** tags for rtPaletteRequestA ***
  508. */
  509. /* initially selected color - default 1 */
  510. #define RTPA_Color         (RT_TagBase+70)
  511.  
  512. /*** tags for rtReqHandlerA ***
  513. */
  514. /* end requester by software control, set tagdata to REQ_CANCEL, REQ_OK or
  515.    in case of rtEZRequest to the return value */
  516. #define RTRH_EndRequest         (RT_TagBase+60)
  517.  
  518. /*** tags for rtAllocRequestA ***/
  519. /* no tags defined yet */
  520.  
  521.  
  522. /************
  523. * RT_ReqPos *
  524. ************/
  525. #define REQPOS_POINTER         0L
  526. #define REQPOS_CENTERWIN     1L
  527. #define REQPOS_CENTERSCR     2L
  528. #define REQPOS_TOPLEFTWIN     3L
  529. #define REQPOS_TOPLEFTSCR     4L
  530.  
  531. /******************
  532. * RTRH_EndRequest *
  533. ******************/
  534. #define REQ_CANCEL         0L
  535. #define REQ_OK             1L
  536.  
  537. /***************************************
  538. * flags for RTFI_Flags and RTFO_Flags  *
  539. * or filereq->Flags and fontreq->Flags *
  540. ***************************************/
  541. #define FREQB_NOBUFFER         2L
  542. #define FREQF_NOBUFFER         (1L<<FREQB_NOBUFFER)
  543.  
  544. /*****************************************
  545. * flags for RTFI_Flags or filereq->Flags *
  546. *****************************************/
  547. #define FREQB_MULTISELECT     0L
  548. #define FREQF_MULTISELECT     (1L<<FREQB_MULTISELECT)
  549. #define FREQB_SAVE         1L
  550. #define FREQF_SAVE         (1L<<FREQB_SAVE)
  551. #define FREQB_NOFILES         3L
  552. #define FREQF_NOFILES         (1L<<FREQB_NOFILES)
  553. #define FREQB_PATGAD         4L
  554. #define FREQF_PATGAD         (1L<<FREQB_PATGAD)
  555. #define FREQB_SELECTDIRS     12L
  556. #define FREQF_SELECTDIRS     (1L<<FREQB_SELECTDIRS)
  557.  
  558. /*****************************************
  559. * flags for RTFO_Flags or fontreq->Flags *
  560. *****************************************/
  561. #define FREQB_FIXEDWIDTH     5L
  562. #define FREQF_FIXEDWIDTH     (1L<<FREQB_FIXEDWIDTH)
  563. #define FREQB_COLORFONTS     6L
  564. #define FREQF_COLORFONTS     (1L<<FREQB_COLORFONTS)
  565. #define FREQB_CHANGEPALETTE     7L
  566. #define FREQF_CHANGEPALETTE     (1L<<FREQB_CHANGEPALETTE)
  567. #define FREQB_LEAVEPALETTE     8L
  568. #define FREQF_LEAVEPALETTE     (1L<<FREQB_LEAVEPALETTE)
  569. #define FREQB_SCALE         9L
  570. #define FREQF_SCALE         (1L<<FREQB_SCALE)
  571. #define FREQB_STYLE         10L
  572. #define FREQF_STYLE         (1L<<FREQB_STYLE)
  573.  
  574. /*****************************************************
  575. * (V38) flags for RTSC_Flags or screenmodereq->Flags *
  576. *****************************************************/
  577. #define SCREQB_SIZEGADS         13L
  578. #define SCREQF_SIZEGADS         (1L<<SCREQB_SIZEGADS)
  579. #define SCREQB_DEPTHGAD         14L
  580. #define SCREQF_DEPTHGAD         (1L<<SCREQB_DEPTHGAD)
  581. #define SCREQB_NONSTDMODES     15L
  582. #define SCREQF_NONSTDMODES     (1L<<SCREQB_NONSTDMODES)
  583. #define SCREQB_GUIMODES         16L
  584. #define SCREQF_GUIMODES         (1L<<SCREQB_GUIMODES)
  585. #define SCREQB_AUTOSCROLLGAD     18L
  586. #define SCREQF_AUTOSCROLLGAD     (1L<<SCREQB_AUTOSCROLLGAD)
  587. #define SCREQB_OVERSCANGAD     19L
  588. #define SCREQF_OVERSCANGAD     (1L<<SCREQB_OVERSCANGAD)
  589.  
  590. /*****************************************
  591. * flags for RTEZ_Flags or reqinfo->Flags *
  592. *****************************************/
  593. #define EZREQB_NORETURNKEY     0L
  594. #define EZREQF_NORETURNKEY     (1L<<EZREQB_NORETURNKEY)
  595. #define EZREQB_LAMIGAQUAL     1L
  596. #define EZREQF_LAMIGAQUAL     (1L<<EZREQB_LAMIGAQUAL)
  597. #define EZREQB_CENTERTEXT     2L
  598. #define EZREQF_CENTERTEXT     (1L<<EZREQB_CENTERTEXT)
  599.  
  600. /***********************************************
  601. * (V38) flags for RTGL_Flags or reqinfo->Flags *
  602. ***********************************************/
  603. #define GLREQB_CENTERTEXT     EZREQB_CENTERTEXT
  604. #define GLREQF_CENTERTEXT     EZREQF_CENTERTEXT
  605. #define GLREQB_HIGHLIGHTTEXT     3L
  606. #define GLREQF_HIGHLIGHTTEXT     (1L<<GLREQB_HIGHLIGHTTEXT)
  607.  
  608. /***********************************************
  609. * (V38) flags for RTGS_Flags or reqinfo->Flags *
  610. ***********************************************/
  611. #define GSREQB_CENTERTEXT     EZREQB_CENTERTEXT
  612. #define GSREQF_CENTERTEXT     EZREQF_CENTERTEXT
  613. #define GSREQB_HIGHLIGHTTEXT     GLREQB_HIGHLIGHTTEXT
  614. #define GSREQF_HIGHLIGHTTEXT     GLREQF_HIGHLIGHTTEXT
  615.  
  616. /*****************************************
  617. * (V38) flags for RTFI_VolumeRequest tag *
  618. *****************************************/
  619. #define VREQB_NOASSIGNS         0L
  620. #define VREQF_NOASSIGNS         (1L<<VREQB_NOASSIGNS)
  621. #define VREQB_NODISKS         1L
  622. #define VREQF_NODISKS         (1L<<VREQB_NODISKS)
  623. #define VREQB_ALLDISKS         2L
  624. #define VREQF_ALLDISKS         (1L<<VREQB_ALLDISKS)
  625.  
  626. /*
  627.    Following things are obsolete in ReqTools V38.
  628.    DON'T USE THESE IN NEW CODE!
  629. */
  630. #ifndef NO_REQTOOLS_OBSOLETE
  631. #define REQHOOK_WILDFILE 0L
  632. #define REQHOOK_WILDFONT 1L
  633. #define FREQB_DOWILDFUNC 11L                   
  634. #define FREQF_DOWILDFUNC (1L<<FREQB_DOWILDFUNC)
  635. #endif
  636.  
  637. #endif /* LIBRARIES_REQTOOLS_H */
  638.